<cfcomponent accessors="true">


	<cfproperty name="action" type="string" />
	<cfproperty name="key" type="string" />
	<cfproperty name="content" type="string" />
	<cfproperty name="keyStartFormat" type="string" />
	<cfproperty name="keyEndFormat" type="string" />
	<cfproperty name="keyStart" type="string" />
	<cfproperty name="keyEnd" type="string" />
	

	<cffunction name="init" access="public" returntype="any">
		<cfargument name="action" type="string" required="no" default="">
		<cfargument name="key" type="string" required="no" default="">
		<cfargument name="content" type="string" required="no" default="">
		<cfargument name="keyStartFormat" type="string" required="no" default="">
		<cfargument name="keyEndFormat" type="string" required="no" default="">
		<cfscript>
			setAction(arguments.action);
			setKey(arguments.key);
			setContent(arguments.content);
			setKeyStartFormat(arguments.keyStartFormat);
			setKeyEndFormat(arguments.keyEndFormat);
			setKeyStart(processKey(format=getKeyStartFormat()));
			setKeyEnd(processKey(format=getKeyEndFormat()));
			return this;
		</cfscript>
	</cffunction>
	
	
	<cffunction name="processKey" access="private" returntype="string">
		<cfargument name="format" type="string" required="yes" />
		<cfreturn Replace(arguments.format,'{key}',getKey(),'ALL') />
	</cffunction>
	

</cfcomponent>